home *** CD-ROM | disk | FTP | other *** search
- $INCLUDE "REGNAMES.INC"
- COLOR 14
-
- IF CheckVector(&H49)=0 THEN
- SOUND 2000,2
- PRINT "FEHLER: ATUtilities File Transfer ist nicht installiert!"
- GOTO ende
- END IF
- GOSUB CmdAuswertung
-
- REG %AX,(&H6*256)
- CALL INTERRUPT &H49
- segment=REG(%ES)
- offset=REG(%DI)
- DEF SEG = segment
-
- a$=a$+CHR$(0)
- FOR i=1 TO LEN(a$)
- POKE offset+i-1,ASC(MID$(a$,i,1))
- NEXT
- REG %AX,(12*256)
- CALL INTERRUPT &H49
- IF REG(%BX)=10000 THEN
- fl=REG(%CX)
- REG %AX,(14*256)
- REG %BX,fl
- CALL INTERRUPT &H49
- IF REG(%BX)=10000 THEN
- i=PEEK(offset) : j=1
- PRINT "Laufwerks-Bezeichnung: ";
- COLOR 11
- WHILE i<>ASC(":") AND j<20
- PRINT CHR$(i);
- i=PEEK(offset+j)
- j=j+1
- WEND
- PRINT ":"
- PRINT ""
- COLOR 14
- REG %BX,fl
- REG %AX,(15*256)
- CALL INTERRUPT &H49
- IF REG(%BX)=10000 THEN
- COLOR 14 : PRINT "Soft-Fehler: "; : COLOR 11 : PRINT PEEKI(offset+0)
- COLOR 14 : PRINT "Unit-Nummer: "; : COLOR 11 : PRINT PEEKI(offset+4)
- total&=PEEKL(offset+12)
- used&=PEEKL(offset+16)
- free&=total&-used&
- p.free=100&*free&/total&
- p.used=100&*used&/total&
- bytes&=PEEKL(offset+20)
- PRINT ""
- COLOR 14 : PRINT "Freier Speicherplatz:" : COLOR 11
- PRINT free&;"Blcke"
- PRINT free&*bytes&/1024&;"KBytes"
- PRINT p.free;"%"
- PRINT ""
- COLOR 14 : PRINT "Belegter Speicherplatz:" : COLOR 11
- PRINT used&;"Blcke"
- PRINT used&*bytes&/1024&;"KBytes"
- PRINT p.used;"%"
- PRINT ""
- COLOR 14 : PRINT "Speicherkapazitt gesamt:" : COLOR 11
- PRINT total&;"Blcke"
- PRINT total&*bytes&/1024&;"KBytes"
- PRINT ""
- SELECT CASE PEEKL(offset+8)
- CASE 80
- s$="Schreibschutz aktiv"
- CASE 81
- s$="Probleme mit Speichermedium (Validating-Zustand)"
- CASE ELSE
- s$="Speichermedium kann beschrieben und gelesen werden"
- END SELECT
- COLOR 14 : PRINT "Laufwerksstatus: "; : COLOR 11 : PRINT s$
- COLOR 14 : PRINT "Diskettentyp: "; : COLOR 11
- type=PEEKL(offset+24)
- FOR i=27 TO 24 STEP -1
- s$=CHR$(PEEK(offset+i))
- IF s$>="A" AND s$<="Z" THEN PRINT s$; ELSE PRINT " "
- NEXT
- PRINT ""
- ELSE
- SOUND 2000,2
- PRINT "FEHLER: Informationen knnen nicht ermittelt werden."
- END IF
- ELSE
- SOUND 2000,2
- PRINT "FEHLER: Laufwerksname kann nicht ermittelt werden."
- END IF
-
- REG %AX,(13*256)
- REG %BX,fl
- CALL INTERRUPT &H49
- ELSE
- SOUND 2000,2
- PRINT "Laufwerk existiert nicht/Zugriff verweigert."
- END IF
-
- ende:
- COLOR 7
- END
-
- CmdAuswertung:
- cmd$=COMMAND$
- a$=cmd$
- IF a$="/?" OR a$="?" THEN
- GOTO argf
- END IF
- IF a$="" THEN
- a$=STRING$(20,CHR$(0))
- END IF
- RETURN
-
- argf:
- SOUND 2000,2
- PRINT "AInfo - Version 1.0 Copyright (C) 1993 by Thomas Dreibholz"
- PRINT ""
- PRINT "AInfo zeigt eine Informationstabelle ber das angegebene Laufwerk an."
- PRINT "Wird kein Laufwerk angegeben, so wird das aktuelle benutzt."
- PRINT ""
- PRINT "Aufruf: AInfo {Laufwerk | /? | ?}"
- PRINT ""
- GOTO ende
-
-
- FUNCTION CheckVector(num) STATIC
- REG %AX,(&H35*256)+num
- CALL INTERRUPT &H21
- segm=REG(%ES)
- offs=REG(%BX)
- DEF SEG = segm
- IF (segm=0) OR (PEEK(offs)=207) THEN
- CheckVector=0
- ELSE
- CheckVector=1
- END IF
- END FUNCTION